<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Date对象</title>
</head>
<body>
    
</body>
</html>
<script>
    /*
        Dare对象
            - 在JS中使用 Date 对象来表示一个时间
    */
    // 创建一个Date对象
    // 如果直接使用构造函数创建一个Date对象，则会封装当前代码执行的时间

    var d = new Date();

    // 创建一个指定的时间对象
    // 需要在构造函数中传递一个表示时间的字符串作为参数
    // 日期的格式 "月 / 日 / 年 时:分:秒"
    var d2 = new Date("07/21/2022 15:01");

    /*
        getDate();
            - 获取当前日期对象是几日
    */
    var date = d2.getDate();

    /*
        getDay();
            - 获取当前日期对象是周几
            - 会返回一个 0-6 的值
                0 表示周日
                1 表示周一
                2 .......                
    */
    var day =d.getDay();

    /*
        getMonth();
        - 获取当前时间对象的月份
            - 会返回一个 0-11 的值
                0 表示 1月
                1 表示 2月
                ......
                11 表示 12月
    */
    var month =d.getMonth();

    /*
        getFullYear()
            - 获取当前日期对象的年份
    */
    var year = d.getFullYear();

    // console.log(d2);
    // console.log(date);
    // console.log(day);
    // console.log(month+1);
    // console.log(year);

    /*
        getTime()
            - 获取当前日期对象的时间戳
            - 时间戳，指的是从格林威治标准时间的1970年1月1日，0时0分0秒
                到当前日期所花费的毫秒数 （1秒 = 1000毫秒）
            - 计算机底层在保存时间时使用的都是时间戳

    */
    var d3 = new Date("1/1/1970 0:0:0"); // 北京时间为东八区，此时为 8:00
    var time = d.getTime();
    var time2 = d3.getTime();

    console.log(time);
    console.log(time2);
    
    // 利用时间戳来测试代码的执行的性能
    // 获取当前时间的时间戳
    time = Date.now();
    console.log(time);

    // 利用两种方法测试代码执行时间

    // 开始
    // 方法一
    var start = Date.now();
    // 方法二
    console.time("时间");

    for(var i=0;i<10000;i++){
        document.write(i);
    }

    // 结束
    // 方法一
    var end = Date.now();
    console.log("执行了"+(end-start)+"毫秒");
    // 方法二
    console.timeEnd("时间");
    

</script>